Remove patch for #1091614, as they do not apply anymore.
authorSandro Knauß <hefee@debian.org>
Mon, 21 Jul 2025 17:26:51 +0000 (19:26 +0200)
committerSandro Knauß <hefee@debian.org>
Mon, 21 Jul 2025 17:26:51 +0000 (19:26 +0200)
debian/patches/0006-Revert-better-logs-and-factor-common-code-in-folder-.patch [deleted file]
debian/patches/0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch [deleted file]
debian/patches/series

diff --git a/debian/patches/0006-Revert-better-logs-and-factor-common-code-in-folder-.patch b/debian/patches/0006-Revert-better-logs-and-factor-common-code-in-folder-.patch
deleted file mode 100644 (file)
index 98a320e..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-From: =?utf-8?q?Sandro_Knau=C3=9F?= <hefee@debian.org>
-Date: Sun, 5 Jan 2025 20:33:16 +0100
-Subject: Revert "better logs and factor common code in folder permissions
- handling"
-
-This reverts commit 1417e8cb60e84762f94345b21d587fb54bc90b51.
----
- src/libsync/owncloudpropagator.cpp | 19 ++++++++-----------
- 1 file changed, 8 insertions(+), 11 deletions(-)
-
-diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp
-index e239f05..04e556f 100644
---- a/src/libsync/owncloudpropagator.cpp
-+++ b/src/libsync/owncloudpropagator.cpp
-@@ -1497,18 +1497,15 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status)
-                 }
-             } else {
-                 try {
--                    const auto permissionsChangeHelper = [] (const auto fileName)
--                    {
--                        qCDebug(lcDirectory) << fileName << "permissions changed: old permissions" << static_cast<int>(std::filesystem::status(fileName.toStdWString()).permissions());
--                        FileSystem::setFolderPermissions(fileName, FileSystem::FolderPermissions::ReadWrite);
--                        qCDebug(lcDirectory) << fileName << "applied new permissions" << static_cast<int>(std::filesystem::status(fileName.toStdWString()).permissions());
--                    };
--
--                    if (const auto fileName = propagator()->fullLocalPath(_item->_file); FileSystem::fileExists(fileName)) {
--                        permissionsChangeHelper(fileName);
-+                    if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) {
-+                        qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-+                        FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadWrite);
-+                        qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-                     }
--                    if (const auto fileName = propagator()->fullLocalPath(_item->_renameTarget); !_item->_renameTarget.isEmpty() && FileSystem::fileExists(fileName)) {
--                        permissionsChangeHelper(fileName);
-+                    if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) {
-+                        qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-+                        FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadWrite);
-+                        qCDebug(lcDirectory) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-                     }
-                 }
-                 catch (const std::filesystem::filesystem_error &e)
diff --git a/debian/patches/0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch b/debian/patches/0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch
deleted file mode 100644 (file)
index 7a502f2..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-From: =?utf-8?q?Sandro_Knau=C3=9F?= <hefee@debian.org>
-Date: Sun, 5 Jan 2025 23:17:28 +0100
-Subject: Revert "ensure no any user writable permissions in Nextcloud sync
- folder"
-
-This reverts commit 5b2af166d3d9c8537c565922750392d4a3f6610e.
----
- src/csync/csync.h                      |  2 --
- src/csync/vio/csync_vio_local_unix.cpp |  2 --
- src/libsync/discovery.cpp              | 11 -----------
- src/libsync/discoveryphase.cpp         |  1 -
- src/libsync/discoveryphase.h           |  1 -
- src/libsync/filesystem.cpp             |  1 -
- src/libsync/owncloudpropagator.cpp     | 14 +++++++++++---
- src/libsync/syncengine.cpp             |  4 ----
- src/libsync/syncfileitem.h             |  2 --
- 9 files changed, 11 insertions(+), 27 deletions(-)
-
-diff --git a/src/csync/csync.h b/src/csync/csync.h
-index 8329020..ff1ec56 100644
---- a/src/csync/csync.h
-+++ b/src/csync/csync.h
-@@ -218,7 +218,6 @@ struct OCSYNC_EXPORT csync_file_stat_s {
-   bool is_hidden BITFIELD(1); // Not saved in the DB, only used during discovery for local files.
-   bool isE2eEncrypted BITFIELD(1);
-   bool is_metadata_missing BITFIELD(1); // Indicates the file has missing metadata, f.ex. the file is not a placeholder in case of vfs.
--  bool isPermissionsInvalid BITFIELD(1);
-   QByteArray path;
-   QByteArray rename_path;
-@@ -246,7 +245,6 @@ struct OCSYNC_EXPORT csync_file_stat_s {
-     , is_hidden(false)
-     , isE2eEncrypted(false)
-     , is_metadata_missing(false)
--    , isPermissionsInvalid(false)
-   { }
- };
-diff --git a/src/csync/vio/csync_vio_local_unix.cpp b/src/csync/vio/csync_vio_local_unix.cpp
-index 8f319a3..b68eb31 100644
---- a/src/csync/vio/csync_vio_local_unix.cpp
-+++ b/src/csync/vio/csync_vio_local_unix.cpp
-@@ -169,7 +169,5 @@ static int _csync_vio_local_stat_mb(const mbchar_t *wuri, csync_file_stat_t *buf
-   buf->inode = sb.st_ino;
-   buf->modtime = sb.st_mtime;
-   buf->size = sb.st_size;
--  buf->isPermissionsInvalid = (sb.st_mode & S_IWOTH) == S_IWOTH;
--
-   return 0;
- }
-diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp
-index a97585a..769a559 100644
---- a/src/libsync/discovery.cpp
-+++ b/src/libsync/discovery.cpp
-@@ -1117,10 +1117,6 @@ void ProcessDirectoryJob::processFileAnalyzeLocalInfo(
-         if (_queryLocal != NormalQuery && _queryServer != NormalQuery)
-             recurse = false;
--        if (localEntry.isPermissionsInvalid) {
--            recurse = true;
--        }
--
-         if ((item->_direction == SyncFileItem::Down || item->_instruction == CSYNC_INSTRUCTION_CONFLICT || item->_instruction == CSYNC_INSTRUCTION_NEW || item->_instruction == CSYNC_INSTRUCTION_SYNC) &&
-                 item->_direction != SyncFileItem::Up &&
-                 (item->_modtime <= 0 || item->_modtime >= 0xFFFFFFFF)) {
-@@ -1149,13 +1145,6 @@ void ProcessDirectoryJob::processFileAnalyzeLocalInfo(
-             }
-         }
--        if (localEntry.isPermissionsInvalid && item->_instruction == CSyncEnums::CSYNC_INSTRUCTION_NONE) {
--            item->_instruction = CSYNC_INSTRUCTION_UPDATE_METADATA;
--            item->_direction = SyncFileItem::Down;
--        }
--
--        item->isPermissionsInvalid = localEntry.isPermissionsInvalid;
--
-         auto recurseQueryLocal = _queryLocal == ParentNotChanged ? ParentNotChanged : localEntry.isDirectory || item->_instruction == CSYNC_INSTRUCTION_RENAME ? NormalQuery : ParentDontExist;
-         processFileFinalize(item, path, recurse, recurseQueryLocal, recurseQueryServer);
-     };
-diff --git a/src/libsync/discoveryphase.cpp b/src/libsync/discoveryphase.cpp
-index 9b72732..51813ae 100644
---- a/src/libsync/discoveryphase.cpp
-+++ b/src/libsync/discoveryphase.cpp
-@@ -371,7 +371,6 @@ void DiscoverySingleLocalDirectoryJob::run() {
-         i.isSymLink = dirent->type == ItemTypeSoftLink;
-         i.isVirtualFile = dirent->type == ItemTypeVirtualFile || dirent->type == ItemTypeVirtualFileDownload;
-         i.isMetadataMissing = dirent->is_metadata_missing;
--        i.isPermissionsInvalid = dirent->isPermissionsInvalid;
-         i.type = dirent->type;
-         results.push_back(i);
-     }
-diff --git a/src/libsync/discoveryphase.h b/src/libsync/discoveryphase.h
-index 0c9edce..913f37f 100644
---- a/src/libsync/discoveryphase.h
-+++ b/src/libsync/discoveryphase.h
-@@ -107,7 +107,6 @@ struct LocalInfo
-     bool isVirtualFile = false;
-     bool isSymLink = false;
-     bool isMetadataMissing = false;
--    bool isPermissionsInvalid = false;
-     [[nodiscard]] bool isValid() const { return !name.isNull(); }
- };
-diff --git a/src/libsync/filesystem.cpp b/src/libsync/filesystem.cpp
-index 3150819..28c3533 100644
---- a/src/libsync/filesystem.cpp
-+++ b/src/libsync/filesystem.cpp
-@@ -507,7 +507,6 @@ bool FileSystem::setFolderPermissions(const QString &path,
-         case OCC::FileSystem::FolderPermissions::ReadOnly:
-             break;
-         case OCC::FileSystem::FolderPermissions::ReadWrite:
--            std::filesystem::permissions(stdStrPath, std::filesystem::perms::others_write, std::filesystem::perm_options::remove);
-             std::filesystem::permissions(stdStrPath, std::filesystem::perms::owner_write, std::filesystem::perm_options::add);
-             break;
-         }
-diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp
-index 480baa8..220d7f7 100644
---- a/src/libsync/owncloudpropagator.cpp
-+++ b/src/libsync/owncloudpropagator.cpp
-@@ -1470,9 +1470,15 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status)
-                 try {
-                     if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) {
-                         FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadOnly);
-+                        qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-+                        std::filesystem::permissions(propagator()->fullLocalPath(_item->_file).toStdWString(), std::filesystem::perms::owner_write | std::filesystem::perms::group_write | std::filesystem::perms::others_write, std::filesystem::perm_options::remove);
-+                        qCDebug(lcDirectory) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-                     }
-                     if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) {
-                         FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadOnly);
-+                        qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-+                        std::filesystem::permissions(propagator()->fullLocalPath(_item->_renameTarget).toStdWString(), std::filesystem::perms::owner_write | std::filesystem::perms::group_write | std::filesystem::perms::others_write, std::filesystem::perm_options::remove);
-+                        qCDebug(lcDirectory) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-                     }
-                 }
-                 catch (const std::filesystem::filesystem_error &e)
-@@ -1496,13 +1502,15 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status)
-             } else {
-                 try {
-                     if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) {
--                        qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-                         FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadWrite);
--                        qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-+                        qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-+                        std::filesystem::permissions(propagator()->fullLocalPath(_item->_file).toStdWString(), std::filesystem::perms::owner_write, std::filesystem::perm_options::add);
-+                        qCDebug(lcDirectory) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
-                     }
-                     if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) {
--                        qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-                         FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadWrite);
-+                        qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-+                        std::filesystem::permissions(propagator()->fullLocalPath(_item->_renameTarget).toStdWString(), std::filesystem::perms::owner_write, std::filesystem::perm_options::add);
-                         qCDebug(lcDirectory) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
-                     }
-                 }
-diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp
-index e24ce8a..8237905 100644
---- a/src/libsync/syncengine.cpp
-+++ b/src/libsync/syncengine.cpp
-@@ -362,10 +362,6 @@ void OCC::SyncEngine::slotItemDiscovered(const OCC::SyncFileItemPtr &item)
-                 const bool isReadOnly = !item->_remotePerm.isNull() && !item->_remotePerm.hasPermission(RemotePermissions::CanWrite);
-                 modificationHappened = FileSystem::setFileReadOnlyWeak(filePath, isReadOnly);
-             }
--            if (item->isPermissionsInvalid) {
--                const auto isReadOnly = !item->_remotePerm.isNull() && !item->_remotePerm.hasPermission(RemotePermissions::CanWrite);
--                FileSystem::setFileReadOnly(filePath, isReadOnly);
--            }
-             modificationHappened |= item->_size != prev._fileSize;
-diff --git a/src/libsync/syncfileitem.h b/src/libsync/syncfileitem.h
-index 154d13a..041e48d 100644
---- a/src/libsync/syncfileitem.h
-+++ b/src/libsync/syncfileitem.h
-@@ -344,8 +344,6 @@ public:
-     bool _isLivePhoto = false;
-     QString _livePhotoFile;
--    bool isPermissionsInvalid = false;
--
-     QString _discoveryResult;
-     /// if true, requests the file to be permanently deleted instead of moved to the trashbin
index b0deb47c44523f92eefd295268cf03f7a962902e..bf0d0b95e5b6d9cdc5020073c8f4801a0b176717 100644 (file)
@@ -3,5 +3,3 @@
 0003-Use-release-version-for-Debian.patch
 0004-GIT_SHA1-points-to-the-sha1-of-upstream.patch
 0004-Don-t-use-GuiPrivate.patch
-0006-Revert-better-logs-and-factor-common-code-in-folder-.patch
-0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch